package jmine.tec.di.scope;

import java.util.HashMap;
import java.util.Map;

/**
 * @author takeshi.fukushima
 */
public class EmptyScope extends AbstractTypedScope {

    /**
     * {@inheritDoc}
     */
    @Override
    protected boolean localContainsKey(String key) {
        return false;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected Object localGet(String key, Class<?> type) {
        return null;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Map<String, Object> getLocalProperties() {
        return new HashMap<String, Object>();
    }

    /**
     * {@inheritDoc}
     */
    public void put(String key, Object value) {
        throw new IllegalStateException("cannot put");
    }

}
